Page({
  data: {
    serviceOptions: [
      {
        id: 'wechat_service',
        title: '微信客服',
        subtitle: '小程序内聊天，实时沟通',
        icon: '💬',
        type: 'wechat',
        description: '点击打开微信客服聊天，专业客服在线为您服务'
      },
      {
        id: 'phone_service',
        title: '电话客服',
        subtitle: '400-888-8888',
        icon: '📞',
        type: 'phone',
        description: '工作时间：周一至周日 9:00-18:00'
      },
      {
        id: 'online_service',
        title: '在线留言',
        subtitle: '24小时内回复',
        icon: '✉️',
        type: 'message',
        description: '留下您的问题，我们会尽快回复'
      },
      {
        id: 'faq_service',
        title: '常见问题',
        subtitle: '快速找到答案',
        icon: '❓',
        type: 'faq',
        description: '查看常见问题解答'
      }
    ],
    contactInfo: {
      phone: '400-888-8888',
      email: 'service@smartcraft.com',
      workTime: '周一至周日 9:00-18:00',
      address: '贵阳市云岩区北京路天华大厦'
    },
    faqList: [
      {
        question: '如何预约服务？',
        answer: '您可以在首页点击相应的服务类型，填写预约信息即可。我们会在24小时内联系您确认服务详情。'
      },
      {
        question: '服务费用如何计算？',
        answer: '我们会根据您的具体需求进行现场勘察，然后提供详细的报价方案。不同服务类型有不同的计费标准。'
      },
      {
        question: '服务质量如何保障？',
        answer: '我们有专业的技术团队和完善的质量管理体系，所有服务都有质量保证，并提供售后支持。'
      },
      {
        question: '可以取消或修改预约吗？',
        answer: '可以的。请在预约时间前24小时联系客服进行取消或修改，我们会尽力为您调整。'
      }
    ],
    showFAQ: false,
    showContactInfo: false
  },

  onLoad() {
    wx.setNavigationBarTitle({
      title: '客服中心'
    })
  },

  // 点击服务选项
  onServiceTap(e) {
    const { service } = e.currentTarget.dataset
    console.log('客服选项点击:', service)

    switch (service.type) {
      case 'wechat':
        this.openWechatService()
        break
      case 'phone':
        this.callPhone()
        break
      case 'message':
        this.openMessageForm()
        break
      case 'faq':
        this.toggleFAQ()
        break
      default:
        wx.showToast({
          title: '功能开发中',
          icon: 'none'
        })
    }
  },

  // 打开微信客服聊天
  openWechatService() {
    console.log('🔧 打开微信小程序客服聊天')

    // 使用小程序客服聊天功能
    // 注意：这需要在小程序后台配置客服功能
    wx.showToast({
      title: '正在连接客服...',
      icon: 'loading',
      duration: 1000
    })

    // 延迟一下，让用户看到加载提示
    setTimeout(() => {
      // 这里不需要调用特殊API，客服按钮会自动处理
      // 我们通过模板中的 open-type="contact" 来实现
      wx.showToast({
        title: '请点击下方客服按钮',
        icon: 'none',
        duration: 2000
      })
    }, 1000)
  },

  // 拨打电话
  callPhone() {
    wx.makePhoneCall({
      phoneNumber: this.data.contactInfo.phone,
      success: () => {
        console.log('拨打电话成功')
      },
      fail: (error) => {
        console.error('拨打电话失败:', error)
        wx.showToast({
          title: '拨打失败',
          icon: 'none'
        })
      }
    })
  },

  // 打开留言表单
  openMessageForm() {
    wx.navigateTo({
      url: '/pages/message-form/message-form'
    })
  },

  // 切换FAQ显示
  toggleFAQ() {
    this.setData({
      showFAQ: !this.data.showFAQ
    })
  },

  // 切换联系信息显示
  toggleContactInfo() {
    this.setData({
      showContactInfo: !this.data.showContactInfo
    })
  },

  // 复制联系方式
  copyContact(e) {
    const { type } = e.currentTarget.dataset
    let text = ''

    switch (type) {
      case 'phone':
        text = this.data.contactInfo.phone
        break
      case 'email':
        text = this.data.contactInfo.email
        break
      case 'address':
        text = this.data.contactInfo.address
        break
    }

    if (text) {
      wx.setClipboardData({
        data: text,
        success: () => {
          wx.showToast({
            title: '已复制到剪贴板',
            icon: 'success'
          })
        }
      })
    }
  },

  // 客服聊天回调
  onContactService(e) {
    console.log('📞 客服聊天回调:', e.detail)

    // 记录客服咨询事件
    try {
      wx.cloud.callFunction({
        name: 'businessManager',
        data: {
          action: 'logCustomerService',
          logData: {
            type: 'wechat_chat',
            path: e.detail.path || '',
            query: e.detail.query || '',
            timestamp: new Date()
          }
        }
      }).then(result => {
        console.log('客服咨询记录成功:', result)
      }).catch(error => {
        console.log('客服咨询记录失败:', error)
      })
    } catch (error) {
      console.log('记录客服咨询失败:', error)
    }

    // 显示提示信息
    wx.showToast({
      title: '客服聊天已打开',
      icon: 'success',
      duration: 2000
    })
  }
})
